package jp.seraph.jsade.net;

import java.io.IOException;
import java.net.SocketAddress;

/**
 * 通信を行うロボカップ用ソケットが実装すべき基底インターフェース
 *
 */
public interface RoboCupSocket {
    /**
     * サーバとの通信を確立する
     *
     * @throws IOException
     */
    public void connect(SocketAddress aAddress) throws IOException;


    /**
     * 引数の文字列データをサーバ側に送信する。
     *
     * @param aData
     * @return 実際に送信したバイト数
     */
    public int write(String aData) throws IOException;

    /**
     * １通信の読み込みを行う。
     *
     * @return
     */
    public String read() throws IOException;

    /**
     * ソケットを閉じる。
     */
    public void close();
}
